package com.hyts.mvc.annotation;

import com.hyts.mvc.config.MvcValue;
import com.hyts.mvc.config.ViewType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.mvc.annotation
 * author:Libo/Alex
 * create-date:2019-06-21 11:10
 * email:liboware@gmail.com
 * description:此类主要用于: 作为启动服务的操作服务功能
 */
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface MvcBootApplication {

    /**
     * 默认为当前application注解所在的class启动类包
     * @return
     */
    String[] basePackages() default {};

    /**
     * viewtype 视图类型  默认为Thymeleaf视图模板
     * @return
     */
    ViewType viewType() default ViewType.THYMELEAF;

    /**
     * 视图的定位前缀模板名称
     * @return
     */
    String prefixPath() default MvcValue.DEFAULT_VIEW_PREFIX_PATH;

    /**
     * 视图的定位后缀模板名称
     * @return
     */
    String subfixPath() default MvcValue.DEFAULT_VIEW_SUBFIX_PATH;

    /**
     * 视图定位servlet映射拦截url路径 全局核心 - 默认 “/” 等同于contextPath
     * @return
     */
    String urlPath() default MvcValue.DEFAULT_VIEW_SERVLET_URL_PATH;
}
